#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct trie_t
{
    unsigned int x, y, z;
    struct trie *child[26];

} trie_t;

/* substr = subcadena */
char* substr(const char* source, unsigned int start, unsigned int end, char* dest )
{
    memmove( dest, &source[start], end - start ) ;
    dest[end - start] = 0 ;
    return dest ;
}

int main()
{
    char base[1024][256];
    char buff[256] = "Esto es una prueba.";

    /* Como copiar una cadena a una array */
    strcpy(base[0], "Hola");
    strcpy(base[1], "Peep");
    strcpy(base[2], "Chay");
    strcpy(base[3], "Nacid");
    strcpy(base[4], "Pepona");
    strcpy(base[5], "Holita");

    /* Como consigo una sub-cadena */
    printf("Print: %.*s\n", 4, buff + 0);

    /* Otra forma para conseguir una sub-cadena */
    char subbuff[5];
    memcpy( subbuff, &buff[9], 4 );
    subbuff[4] = '\0';
    puts(subbuff);
    /* fin */

    printf("%s\n", base[0]);
    printf("%s\n", base[1]+1);

    /* Probando estructura */
    trie_t nodo = { 0, 0, 3, NULL};

    /* Probando strcmp() funcion que compara cadenas */
    printf("%s cmp %s = %d\n", base[0], base[1], strcmp(base[0],base[1]));
    printf("%s cmp %s = %d\n", base[1], base[0], strcmp(base[1],base[0]));

    return 0;
}


